<?php

require_once 'config/auth.conf.inc';
require_once 'config/mysql.conf.inc';

class Installer {

    private $db_dbname  = __DB_NAME__;      // database name

    public function __construct()
    {
    	$this->setup();
    }
    
    private function setup()
    {
        if ( $createDB ) {
            $this->createDatabase();
        }

        if ( $createTables ) {
            $this->createTables();
        }

        if ( $createSampleDatas ) {
            $this->createTables();
        }
        
        //$this->createSampleDatas();
    }

    private function createDatabase()
    {
        /*
         * Creation de la base de donnees
         */
        $query = "CREATE DATABASE IF NOT EXISTS `$this->db_dbname`;";

        if(!$res = mysql_query($query)) {
            exit('Erreur MySQL : ' . mysql_error());
        }
    }

    private function createTables()
    {
        /*
         * Creation de la table des utilisateurs
        */
        $query = "CREATE TABLE IF NOT EXISTS `users` (
            `id` int(10) NOT NULL auto_increment,
            `email` varchar(255) NOT NULL,
            `password` varchar(32) NOT NULL,
            `date_inscription` int(10) NOT NULL,
            `date_last_action` int(10) NOT NULL,
            `date_last_connexion` int(10) NOT NULL,
            PRIMARY KEY  (`id`),
            UNIQUE KEY `email` (`email`)
        ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";
        
        
        
        if(!$res = mysql_query($query)) {
        	exit('Erreur MySQL : ' . mysql_error());
        }
        
        
        /*
         * Creation de la table des cabinets
        */
        $query = "CREATE TABLE IF NOT EXISTS `cabinet` (
            `id` int(10) NOT NULL auto_increment,
            `nom` varchar(255) NOT NULL,
            `adresse` varchar(255) NOT NULL,
            `cp` varchar(10) NOT NULL,
            `ville` varchar(255) NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";
        
        if(!$res = mysql_query($query)) {
        	exit('Erreur MySQL : ' . mysql_error());
        }
        
    }

    private function createSampleDatas()
    {
        /*
         * Contenu de la table `users`
         */
        
        $default_pwd = md5(__SALT__.'0000');
        
        $query = "INSERT INTO `users` (
            `id`, 
            `email`, 
            `password`, 
            `date_inscription`, 
            `date_last_action`, 
            `date_last_connexion`
        ) VALUES
            (1, 'admin@localhost', '" . $default_pwd . "', 1361254018, 1361351455, 1361351167);";
        
        if(!$res = mysql_query($query)) {
        	exit('Erreur MySQL : ' . mysql_error());
        }
        
        /*
         * Contenu de la table
         */
        $query = "INSERT INTO `cabinet` (
            `id`, 
            `nom`, 
            `adresse`, 
            `cp`, 
            `ville`
            ) VALUES
            (1, '3 B', 'COTE DE LA LORIE', '27503', 'PONT AUDEMER CEDEX'),
            (2, '3D CREATION', '17 Avenue Général CHAMPON', '38000', 'GRENOBLE'),
            (3, '3DCERAM', 'Parc d''Ester', '87068', 'LIMOGES CEDEX 3'),
            (4, 'A B C DENTAIRE', '29 RUE BERTEAUX', '63000', 'CLERMONT FERRAND'),
            (5, 'A B L', '17 rue Louis Boulanger', '21000', 'DIJON'),
            (6, 'A CROC''S', '16 rue Filaterie', '74150', 'RUMILLY'),
            (7, 'A D L  PROTHESES', '11 Avenue DU Général DE GAULLE', '67000', 'STRASBOURG'),
            (8, 'A D M (Art Dentaire du Maine)', '2 RUE CHARLES DE BEAUMANOIR', '72000', 'LE MANS'),
            (9, 'A S C PROTHESES', '28 rue du Général Schmitz', '93330', 'NEUILLY SUR MARNE'),
            (10, 'A.D. LAB.', '9 Square de l''Ermitage', '85300', 'CHALLANS'),
            (11, 'A.F.R. DENTAIRE', '18 RUE ROGER SALENGRO', '44615', 'ST NAZAIRE CEDEX'),
            (12, 'AAD 91', '17 GRANDE RUE', '91520', 'EGLY'),
            (13, 'AAD 91', '17 GRANDE RUE', '91520', 'EGLY'),
            (14, 'AB LAB', '56 Allée des Attaques', '01400', 'Neuville les Dames'),
            (15, 'AB PROTHESES', '221 Impasse des 4 vents', '30100', 'ALES'),
            (16, 'AB. CERAM', '1 rue René Cassin', '34500', 'BEZIERS'),
            (17, 'ABADIA-MAXO Isabelle', '10 Avenue DES TUILERIES', '82700', 'MONTECH'),
            (18, 'ABADIE LIONEL', 'CHEMIN MARSSAOU', '64300', 'ORTHEZ'),
            (19, 'Abecassis Cohen Claire', '53 BIS RUE CLAUDE TERRASSE', '75016', 'PARIS'),
            (20, 'AC PROTHESE DENTAIRE', '15 B GRANDE RUE', '90160', 'DENNEY'),
            (21, 'ACCORD DENTAIRE PROTHESES', '1 rue Jean-Baptiste Gambut', '21200', 'BEAUNE'),
            (22, 'ACKERMANN Eric', '255 CHEMIN DE LA TRAVERSE', '30340', 'ST PRIVAT DES VIEUX'),
            (23, 'ACL DENTAIRE', '6 RUE JEAN CHARCOT', '44115', 'BASSE GOULAINE'),
            (24, 'ACOLAS DOVIER', '101 RUE BONNAT', '31000', 'TOULOUSE'),
            (25, 'ACRODENT', '6 chemin dit des champs Thibault', '80260', 'VILLERS BOCAGE'),
            (26, 'ACTUEL DENTAL', '648 RUE JACQUES MONOD', '27018', 'EVREUX CEDEX'),
            (27, 'ACTUELLE PROTHESE', '13 RUE DU GéNéRaL DELMAS', '19100', 'BRIVE LA GAILLARDE'),
            (28, 'ADC INNOVATION', '6 rue Jean Charcot', '44115', 'BASSE GOULAINE'),
            (29, 'ADENT LABO', '17 RUE DES BOULEAUX', '44450', 'ST JULIEN DE CONCELLES'),
            (30, 'ADEQUAT', 'ZAC DU GRAND BAN', '08000', 'LA FRANCHEVILLE'),
            (31, 'Adjointe Conjointe Implantologie Laboratoire', '23 rue du Doyenné', '69005', 'LYON'),
            (32, 'ADJOINTE DENTAL', '82 RUE DE LA GARENNE', '35510', 'CESSON SEVIGNE'),
            (33, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (34, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (35, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (36, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (37, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (38, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (39, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (40, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (41, 'AESCULAP', 'Boulevard Maréchal Juin', '52901', 'CHAUMONT CEDEX 9'),
            (42, 'AFP DENT', '54 allée des platanes', '77100', 'MEAUX'),
            (43, 'AGEN ORTHOPEDIE SARL', '1 rue du Dr et Mme Delmas', '47000', 'AGEN'),
            (44, 'AGESI LAB', '1 avenue de Verdun', '85190', 'AIZENAY'),
            (45, 'Aguilar Pedro', '1 ALLEE DE L''ABBE DE SAINT PIERRE', '33140', 'VILLENAVE D ORNON'),
            (46, 'AHES DENTAL', '8 BIS PLACE DU CHAMP DE FOIRE', '29270', 'CARHAIX PLOUGUER'),
            (47, 'AL DENTE', '17 RUE DES écoles', '29900', 'CONCARNEAU'),
            (48, 'AL LABORATOIRE', '6 RUE AUGUSTE PERRET', '37000', 'TOURS'),
            (49, 'ALAIME Christophe', 'Z.A. DE KERRAN', '56470', 'ST PHILIBERT'),
            (50, 'ALAIN BRUNO EDMOND', '21 RUE DE SAVOIE', '33601', 'PESSAC CEDEX'),
            (51, 'ALAIN ROY', '22 avenue de Rangueil', '31400', 'TOULOUSE'),
            (52, 'ALBERGUCCI PATRICK PAUL', '822 Boulevard ESCAILLON', '83200', 'TOULON'),
            (53, 'ALEXANDRE Isabelle', '21 rue du Mont Miroir', '25120', 'MAICHE'),
            (54, 'ALFORT PROTHESE', '33 BIS RUE CARNOT', '94700', 'MAISONS ALFORT'),
            (55, 'ALL STELLITE', '22 Place Maurice', '51100', 'REIMS'),
            (56, 'ALLIANCE', '2 RUE CAMY', '64000', 'PAU'),
            (57, 'ALLOPRODENT', '34 COURS SAINT LOUIS', '33300', 'BORDEAUX'),
            (58, 'Alloues Bernard Roger', '24 Avenue PRINCIPAL PASTOUR', '06600', 'ANTIBES'),
            (59, 'Almuzara Michel', '1 rue d''Auriol', '31000', 'TOULOUSE'),
            (60, 'ALOHA DENTAL', '5 Impasse des colverts', '31830', 'PLAISANCE DU TOUCH'),
            (61, 'ALPES ORTHOPEDIE', '6 rue des terrasses', '74960', 'CRAN GEVRIER'),
            (62, 'ALPES PROTHESE DENTAIRE', '25 bis rue de la résistance', '38170', 'SEYSSINET PARISET'),
            (63, 'ALPHA CERAM', '4 Avenue VICTOR HUGO', '12000', 'RODEZ'),
            (64, 'ALPILLES DENTAIRES', '12 ZAC des Vautes', '34980', 'ST GELY DU FESC'),
            (65, 'ALRIC Francis', '2 IMPASSE DU CAROUX', '34500', 'BEZIERS'),
            (66, 'ALSACE DENTAIRE SERVICES', '1 rue du Tissage', '68500', 'ISSENHEIM'),
            (67, 'AM CERAM', '5 RUE DES BATISSEURS', '91350', 'GRIGNY'),
            (68, 'AMBROIS ORTHOPEDIE', '32 bis rue de la Liberté', '38600', 'FONTAINE'),
            (69, 'AMBROSINO Gil', '23 RUE DE LA République', '84000', 'AVIGNON'),
            (70, 'AMD LABORATOIRE', '26 rue de la Gare', '77400', 'THORIGNY SUR MARNE'),
            (71, 'AMD ORTHO', '26 rue de la Gare', '77400', 'THORIGNY SUR MARNE'),
            (72, 'AME', '10 AVENUE BEL HORIZON', '07302', 'TOURNON SUR RHONE CEDEX'),
            (73, 'AMELOT MICHELE MARIE JEANNE', '16 RUE JEANNE DE France', '18000', 'BOURGES'),
            (74, 'AMODENTIS', '29 rue de Mansannay', '21300', 'CHENOVE'),
            (75, 'AMPLITUDE', 'Zone d''Activités Mozart 2', '26000', 'VALENCE'),
            (76, 'AMPLITUDE', 'Zone d''Activités Mozart 2', '26000', 'VALENCE'),
            (77, 'AMPLITUDE', 'Zone d''Activités Mozart 2', '26000', 'VALENCE'),
            (78, 'ANDRE Christian', '83 COURS D''ALBRET', '33000', 'BORDEAUX'),
            (79, 'ANGELARD', '66 RUE Jean Jaurès', '03200', 'VICHY'),
            (80, 'ANGLADE Jean-Paul', '107 avenue DE LA LIBéRATION', '77350', 'LE MEE SUR SEINE'),
            (81, 'ANJOU CERAM', '3 RUE KARL LINNE', '49000', 'ANGERS'),
            (82, 'ANTHEA KESTREL SARL', '55/57 RUE DU MOULIN DE LA POINTE', '75013', 'PARIS'),
            (83, 'ANTILLES ORTHOPEDIE', '8 RUE Paulo Resine', '97200', 'FORT DE France'),
            (84, 'AOD APPAREILLAGE ORTHOPEDIQUE DUSSAC', '204 avenue du général Clavery', '75016', 'PARIS'),
            (85, 'ApogéeLaboratoire dentaire Frumy', '27 avenue du vercors', '38244', 'MEYLAN CEDEX'),
            (86, 'AQUITAINE ADJOINTE', '1 RUE DE LA MARNE', '33320', 'EYSINES'),
            (87, 'AQUITEC DENTAIRE', '81-83 rue de la croix de Seguey', '33000', 'BORDEAUX'),
            (88, 'ARCAD', '170 Avenue du Général LECLERC', '92330', 'SCEAUX'),
            (89, 'ARCADE', '15 BIS RUE ROSSINI', '06000', 'NICE'),
            (90, 'ARCADENT', '22 RUE DES PETITS CHAMPS', '68390', 'SAUSHEIM'),
            (91, 'ARCAMONE Denis', '80 rue Perrin Solliers', '13006', 'MARSEILLE'),
            (92, 'ARCILE Denis', '12 PLACE JULES FERRY', '91240', 'ST MICHEL SUR ORGE'),
            (93, 'ARDITENT', '18 RUE SAINT JACQUES', '49100', 'ANGERS'),
            (94, 'Ardouin Stéphanie Christel', '13 bis Boulevard Charles de Gaulle', '33138', 'LANTON'),
            (95, 'ARGIROPOULOS Jean', '9 CHEMIN DES PRIES', '78540', 'VERNOUILLET'),
            (96, 'ARGOAT', '19 RUE YVES MAZE', '22970', 'PLOUMAGOAR'),
            (97, 'ARMAGNACQ François', '10 AVENUE ARZAMENDI', '64500', 'CIBOURE'),
            (98, 'ARMOR ORTHOPEDIE SARL', 'La ville neuve Perret', '22170', 'PLOUAGAT');";
            
        if(!$res = mysql_query($query)) {
        	exit('Erreur MySQL : ' . mysql_error());
        }
    }
}
